#include<bits/stdc++.h>
using namespace std;
int main(){
  freopen("journey.in","r",stdin);
  freopen("journey.out","w",stdout);
  ios::sync_with_stdio(false);
  cin.tie(0); cout.tie(0);
  int n,m,q; bool L=true,C=true; cin>>n>>m>>q;
  if(!q)return 0;
  vector<vector<int> > d(n,vector<int>(n,1e9));
  for(int i=0;i<n;i++)d[i][i]=0;
  for(int i=0;i<m;i++){
    int u,v,w; cin>>u>>v>>w;
    L&=u==i+1&&v==i+2,C&=u==i+1&&v==(i+1)%n+1;
    d[u-1][v-1]=min(d[u-1][v-1],w);
  }
  for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
      for(int k=0;k<n;k++)
        d[j][k]=min(d[j][k],d[j][i]+d[i][k]);
  while(q--){
    int c; long long w=0; cin>>c;
    if(L){
      for(int i=1;i<n;i++)
        w+=min(d[i-1][i],c);
    }
    else if(C){
      for(int i=0;i<n;i++)
        w+=min(d[i][(i+1)%n],c);
    }
    cout<<w<<'\n';
  }
  return 0;
}